#### ### #### ##### #### #### # # # # # # # # # # # # # # # # # # #### # #### # # # # # # # # # # # #### ### #### ##### # #### # # # Universeller Steuercodesender Copyrights by Andreas Mandel @ OG Version 1.01 11.02.93 S H A R E W A R E Programmiert mit PURE C (Dokumentation und ChefBetaTester: Alexander Gth @ Wš) EINLEITUNG / FUNKTIONSPRINZIP ---------------------------------------------------------------------------- Code CPX, ist ein CPX-Modul, welches mit dem modularen Kontrollfeld von ATARI (XCONTROL), benutzt werden kann. Mit CODE.CPX kann man Steuercodes auf bequemste Art (PopUpMens, Sliderboxen) an die Drucker-, Modem-, Bildschirm- und MIDI- Schnittstelle schicken. Hierbei gibt es die M”glichkeit, sich selbst eine sogenante COD-Datei mit einem ASCII-Editor, zusammen zu stricken. Hier tun sich die vielf„lltigsten Anwendungsbereiche auf, wie Ger„te- steuerung, Telefonbuch mit W„hlfunktion, installieren von Download- Zeichens„tzen, ONLINE Programmierung eines Modems (CoNnect daneben legen !) uva. LAUFFŽHIGKEIT ---------------------------------------------------------------------------- CODE.CPX sollte dank des modularen Kontrollfeldes von ATARI auf allen Rechnern/TOS-Version (>=1.04) und in allen Aufl”sungen (ST-LOW bis TT-HIGH) sowie Grafikkarten laufen. CODE.CPX ben”tigt im aktiven Betriebszustand, d.h. wenn es vom Kontrollfeld aufgerufen wird oder auch resident geladen wird, ca. 20 KB Speicher und je nach Gr”že der zugeladen COD-Datei ca. 1-20 KB zus„tzlichen Datenspeicher. (je nach gr”že der geladenen *.COD-Datei) Im passiven Betriebszustand, d.h. nicht resident im Kontrollfeld und nicht gestartete CPX-Application, ben”tigt CODE.CPX nur 512 Bytes (!!!), d.h. nur der CPX-Header ist geladen :-). LIEFERUMFANG ---------------------------------------------------------------------------- Das Softwarepaket besteht aus folgenden Dateien: CODE .CPX : CPX-Modul CODE .TXT : Diese Anleitung Steuercodedateien: EP_LQ850.COD : EPSON LQ850 Drucker sowie Kompatible HP_LASER.COD : HP LaserJet Drucker sowie Kompatible NEC_P6 .COD : NEC P6 Drucker sowie Kompatible ZYXEL .COD : ZYXEL U-1496E Modem sowie Kompatible MAEUSE .COD : MausNET Dialer (Telefonw„hler) Eine Weitergabe des unvollst„ndigen Softwarepaketes ist untersagt !!! COPYRIGHT / SHAREWAREGEBšHR ---------------------------------------------------------------------------- CODE.CPX ist SHAREWARE, d.h. * Sie drfen CODE.CPX beliebig weitergeben, jedoch muž stets der Inhalt des Ordners CODE_CPX KOMPLETT und UNVERŽNDERT kopiert werden. Krzungen und Žnderungen verletzen die Copyright-Bestimmungen! * Sie drfen CODE.CPX in aller Ruhe ausprobieren. Die vorliegende Version ist eine "Vollversion", also in keiner Weise eingeschr„nkt. * Wenn Sie CODE.CPX regelm„žig benutzen, so mssen Sie einen Shareware- Betrag von 20 DM entrichten und werden im Gegenzug registrierter Anwender. Weiterhin erhalten Sie dann einen Diskette mit der neuesten Version sowie weiteren Tools. Eine Verbreitung ber Mailboxen ist gestattet. Der Vertrieb in Verbindung mit kommerzieller Software oder ber PD/Shareware-Anbieter ist nur nach vorheriger Absprache erlaubt. (Verst”že werden geahndet !!!) Fehlerberichte, Fragen und Registierungen sind mir willkommen. Postanschrift: Andreas Mandel Postfach 26 7601 Ortenberg MausNet: Andreas Mandel @ OG Bankverbindung: Volksbank Offenburg Kto.Nr. 6478 4307 BLZ 664 900 00 HAFTUNGSAUSSCHLUž ---------------------------------------------------------------------------- Natrlich kann die Funktionsf„higkeit des CPX-Moduls nicht garantiert werden und der Autor haftet auch nicht fr irgendwelche Sch„den, die sich aus der Benutzung des Programmes oder der Dokumentation ergeben k”nnen. INSTALLATION ---------------------------------------------------------------------------- - Kopieren Sie CODE.CPX in den CPX-Ordner von XCONTROL (ATARI) - Legen Sie einen Ordner beliebigen Namens an (z.B. COD) und kopieren Sie dort hinein alle *.COD-Dateien - Aktivieren Sie das XCONTROLL.ACC, d.h. Endung = .ACC - Booten Sie den Rechner neu oder laden Sie im XCONTROLL.ACC unter dem Menpunkt "Voreinstellungen" die CPX-Module neu ein. - Rufen Sie CODE.CPX auf (Doppelklick auf "Steuercodes" ) - Klicken Sie auf das PupUp-Men "Optionen" und w„hlen Sie den Eintrag "SETUP" aus. - Klicken Sie auf die Pfadzeile. Es ”ffenet sich nun eine Fileselectorbox, in welcher Sie den Pfad zu den COD-Dateien sowie der default COD-Datei festlegen/einstellen k”nnen. Wenn geschehen, klicken Sie "OK" in der Fileselectorbox. - Und jetzt noch schnell Einstellungen sichern = Klick auf Button "Sichern" es wird der aktuelle Pfad, COD-Datei sowie die Default Ausgabekan„l in CODE.CPX gesichtert. - Klicken Sie "OK" und sie kommen wieder ins Hauptmen START / BEDIENUNG ---------------------------------------------------------------------------- Nach ”ffenen des modularen Kontrollfeldes von ATARI, kommen Sie mit Doppelklick auf den Eintrag "Device Control" in das Hauptmen von CODE.CPX. Hauptmen --------- Im obigen Teil, sehen Sie ein PopUpMen, in welchem der aktuelle COD-Dateiname angezeigt wird (Parameter #H). Um eine andere COD-Datei zu laden, klicken Sie auf diesen COD-Dateinamen. Es ”ffnet sich ein PopUpMen, in welchem Sie, unter dem im Setupmen eingestellen COD-Dateipfad, eine andere COD-Datei ausw„hlen k”nnen. Darunter befindet sich, das 6 Zeilen grože Anzeigefenster fr die in der COD-Datei zur verfgung gestellten Steuercodeeintr„ge. Rechts haben sie eine vertikale Sliderbox, mit welcher Sie die Eintr„ge scrollen k”nnen. Wir unterscheiden 3 verschiedene Aktivit„tsm”glichkeiten der Eintr„ge. 1) Normal Durch Doppelklick auf einen Eintrag, wird sofort der Steuercode an die aktuelle Schnittstelle gesendet. 2) PopUpMen (Eintr„ge mit der Endung "...", 3 Punkte) Durch Doppelklick auf einen solchen Eintrag, ”ffnet sich ein PopUpMen, in welchem verschiedene M”glichkeiten angeboten werden. W„hlen Sie sich einen Eintrag aus und best„tigen Sie ihn per Mausklick. Darauf hin wird der aktuell ausgew„hlte Eintrag an die aktuelle Schnittstelle gesendet. Aužerdem wird der selektierte Eintrag zum neuen Defaultwert (!!), welchen man an dem "H„ckchen" links von den Eintr„gen erkennt. 3) Sliderboxen (Eintrag mit der Endung "..", 2 Punkte) Hier k”nnen Sie verschiedene Wertgr”žen einstellen (z.B. Linker Rand). Durch bet„tigen von "OK" wird der Steuercode mit dem aktuell ausgew„hlten Wert an die aktuell eingestellte Schnittstelle gesendet. Auch hier gilt wieder, der letztgew„hlte Wert wird zum neuen Defaultwert (!!). Um eine Auswahl abzubrechen, klicken Sie mit dem Mauszeiger irgendwo, aužerhalb des PopUpMens oder der Sliderbox. Unterhalb des 6 Zeiligen Anzeigefenster, sehen Sie 2 PopUpMens. Das rechte PopUpMen dient zur (nachtr„glichen, Parameter #On in COD-Datei) Einstellung/Ver„nderung des Ausgabekanals/Schnittstelle an welche CODE.CPX die Steuercodes senden soll. Es gibt 10 verschiedene Schnittstellenm”glichkeiten: - PRN (Paralelle, meist Drucker !) - AUX (Serielle, aktueller Ausgabekannal, welcher ber das SERIELL.CPX-Modul eingeschaltet/deffiniert ist.) - CON (Bildschirm (mit VT52), direkt !) - MIDI (MIDI) - IKBD (Input Keyboard) - RAWCON (Bildschirm (ohne VT52), direkt) - Modem 1 (only Atari STE/TT) - Modem 2 (only Atari STE/TT) - Seriell 1 (only Atari STE/TT) - Seriell 2 (only Atari STE/TT) Das linke PopUpMen OPTIONEN hat 3 Eintr„ge: a) SETUP Bei Anwahl dieser Option, kommen Sie ins Setupmen (siehe weiter unten) b) INFO Bei Anwahl dieser Option, kommen Sie ins Infomen (siehe weiter unten) c) SENDEN Um einen selektierten Steuercode-Eintrag zu senden. (durch einfaches selektieren eines Eintrages (1 Mausklick, Eintrag wird Invertiert dargestellt) und anschliežender Anwahl des Menpunktes SENDEN wird der Steuercode gesendet; dies entspricht einem Doppelklick.) Setupmen --------- Hier haben Sie im oberen Teil die M”glichkeit, die Default-Schnittstellen zu den Devices Modem, Drucker sowie Diverses fr die COD-Dateien festzulegen. Das beideutet im Klartext: L„dt CODE.CPX, z.B. eine COD-Datei welche fr einen Drucker vorgesehen ist, wird die unter DEFAULT DRUCKER angegebene Schnittstelle verwendet. Daraus ergibt sich folgende Regel: Drucker COD-Datei = Steuercodes an DEFAULT DRUCKER Schnittstelle Modem COD-Datei = " " DEFAULT MODEM " Diverse COD-Datei = " " DEFAULT DIVERSE " (Detailiertes hierzu siehe "COD-Datei Kommandos") Etwas weiter unten, k”nnen Sie durch Klick auf die dort angezeigte Pfadzeile, den aktuellen Pfad zu den COD-Dateien sowie die aktuelle COD-Datei einstellen, d.h. nach Klick auf die Pfadzeile bekommen Sie die Fileselectorbox, mit welcher Sie den Pfad zur aktuellen COD-Datei einstellen k”nnen/sollen. Um den aktuellen Pfad + COD-Datei festhalten zu k”nnen, klicken Sie noch auf "Sichern", woraufhin diese in CODE.CPX selbst gesichert werden. Infomen -------- Im oberen Teil bekommen Sie Informationen zur aktuell geladenen COD-Steuercode Datei. Beispiel: - COD Datei Info ----------- | Epson LQ850 | <- aktueller COD-Dateiname (Parameter #H) | 23.12.92 by Alexander Gth | <- Infozeile aus COD-Datei (Parameter #I) | Eintr„ge: 98 Code: 8904 | <- Anzahl der aktuellen Eintr„ge (#E) und ---------------------------- aktuelle Gr”že des belegten Daten- speichers (im Parameter #S vorbelegt) Darunter befinden sich die Copyrighthinweise zu CODE.CPX. ERSTELLEN EIGENER COD-DATEIEN ---------------------------------------------------------------------------- !!!!! NUR FšR EXPERTEN UND DIE, DIE ES WERDEN WOLLEN !!!!! Zum Erstellen einer Steuercodedatei (= *.COD) verwendet man einen ASCII- Editor wie Tempus, 7up, QED, Edison, uva. Allgemein ========= Jede Zeile, die Code CPX auswerten soll, muž mit einem # beginnen. #? - Beginmarker einer Commandozeile (z.B. #E, #C oder #H) # muž in der 1. Spalte stehen (= Zeilenanfang) !! ? steht fr ein Kommando - Kommentarzeile Zeilen die nicht mit einem # beginnen werden als Kommentare gewertet. Leerzeilen oder Leerzeichen aužerhalb der "#" Zeilen haben keine st”rende Auswirkung. Auswirkungen von Leerzeichen innerhalb von "#" Zeilen werden weiter unten beschrieben. BEACHTE: CODE.CPX fhrt beim einlesen/analysieren der COD-Dateien keiner Syntaxkontrolle aus !!! Fehlerhaftes Erscheinen von PopUpMens sowie Sliderboxen sind somit berwiegend fehlerhaften Kommandos anzulasten. Deshalb zuerst COD-Datei berprfen !!! Einmal verwendbare Kommandos ============================ Die folgenden Kommandos k”nnen/sollen nur einmal (zu Beginn der COD-Datei) verwendet werden ! Wenn einer dieser Kommandos ein zweitesmal auftaucht wird er ignoriert ! #H - Name der Codetabelle (max. 28 Zeichen) Beispiel: #HEpson FX-80 #I - Kurzinfozeile (max. 39 Zeichen) Beispiel: #I(c) 01.01.93 by Andreas Mandel #On- Default Ausgabekanal (Schnittstelle) festlegen n bezeichnet die Nummer der Schnittstelle (n = 0-9) Nummer der Schnittstellen: 0 - PRN (Paralelle, meist Drucker !) 1 - AUX (Serielle, aktueller Ausgabekannal, welcher ber das SERIELL.CPX-Modul eingeschaltet/deffiniert ist.) 2 - CON (Bildschirm (mit VT52), direkt !) 3 - MIDI (MIDI) 4 - IKBD (Input Keyboard) 5 - RAWCON (Bildschirm (ohne VT52), direkt !) 6 - Modem 1 (only Atari STE/TT) 7 - Modem 2 (only Atari STE/TT) 8 - Seriell 1 (only Atari STE/TT) 9 - Seriell 2 (only Atari STE/TT) Beispiel: #O7 = Ausgabekanal ist Modem 2 auf dem ATARI TT Wird kein #On angegeben, so wird n=0 als Default angenommen (=PRT) Gltig ist immer nur die letzte #On Angabe ! Desweiteren hat man die M”glichkeit, durch setzten des Parameters n auf M,P oder D die Default-Schnittstellen, welche im CODE.CPX eingestellt werden/sind, anzusprechen. Dies hat den Vorteil, das Otto-Normaluser nichts an den COD-Dateien „ndern muž, um das richtige Device anzusprechen, und man z.B. beim Umstecken des Modems an eine andere Schnittstelle nicht gleich alle COD-Dateien neu anpassen muž ! M - sende Steuercodes an DEFAULT MODEM P - sende Steuercodes an DEFAULT DRUCKER D - sende Steuercodes an DEFAULT DIVERSES Beispiel: #OM = Ausgabekanal ist der unter DEFAULT MODEM eingestellte. ACHTUNG: Es erfolgt keine šberprfung ber das vorhandensein des Empfangsger„tes, da eine solche nicht 100%tig sein kann und dadurch eventuel gltige Angaben als fehlerhaft ignoriert werden k”nnten. #S - Reserviert Speicher in Bytes fr Codetabelle MUž genau einmal Verwendet werden und MUž vor der ersten Code- Definition (= #E) stehen. Die Zahl steht fr die gr”že des Speicher- bereichs, der fr die Codestrings reserviert wird (in Bytes). Beispiel: #S10240 (z.B. 10240 = 10 KB) #V - max. Anzahl der Datensatzeintr„ge gemessen an #E-Eintr„gen MUž genau einmal Verwendet werden und MUž vor der ersten Code- Definition (= #E) stehen. Die Zahl steht fr die maximale Anzahl der definierten Codes in dieser Datei Beispeil: #V100 d.h. es sind max. 100 Datens„tze m”glich Werden die angegebenen Werte berschritten, so wird der Rest der Datei ignoriert. Im Infomen werden die tats„chlich ben”tigten Werte unter "COD Datei Info" angezeigt. #X - Ende der Steuercodedatei, alles Folgende wird ignoriert ! Mehrmals verwendbare Commandos ============================== #E - Name/Beginn eines Steuercode-Datensatzes (max. 28 Zeichen) Beispiel: #EZeichensatzwahl ... Hier sind auch "Leereintr„ge" zul„ssig, d.h. folgt auf einen #E-Commando kein #C, ist der Eintrag #E nicht aktivierbar ! (Dienen zum versch”nern/struktuieren des Scroll-Fensters) Wichtig: Pulldownmens sollten mit der Endung "..." (3 Punkte) enden !!! Sliderboxen sollten mit der Endung ".." (2 Punkte) enden !!! #C - Steuersequenzendefinition Wertangabem”glichkeiten ----------------------- ASCII (Zeichenwert) : ' = es folgt nun ein ASCII-Zeichen z.B. #C 'A 'B 'c '9 '' HEX (Hexadezimal) : $ = es folgt nun ein HEX-Code z.B. #C $12 $34 $45 $67 DEZ (Dezimal) : ! = es folgt nun der DEZ-Code Im Steuercodebereich nur sinnvoll mit Werten von 0 bis 255 oder -128 bis 127 z.B. #C !123 !233 !0 Bei Sliderboxen: Wertebereiche von 0 bis 16384 oder -16384 bis 0 oder -6384 bis 10000, uva. STRING (Zeichenkette): "" = es folgt nun eine Stringkette z.B. #C "Testtext" Um ein '"' in den String zu Packen muss "" geschrieben werden, z.B. #C "Er sagt: ""Test""" Folgende Variabeln sind desweiteren verfgbar: %t = Tag (2stellig) %m = Monat (2stellig) %j = Jahr (2stellig) %J = Jahr (4stellig) %h = Stunde (2stellig 0-23) %M = Minute (2stellig) %p = Pfad der mit '*' ausgew„hlten Datei %f = Filename der mit '*' ausgew„hlten Datei z.B. #EZeit #C "gedruckt am " %t '. %m'.%j " um " %h " Uhr " %M $d $a Als Trennzeichen zwischen den Codes ist jedes beliebige Zeichen erlaubt, z.B. Space, Komma, Bindestrich, uva. aber immer nur 1 Zeichen. Aužer optional den Zeichen "'$!? . Ein Mischen von HEX, ASCII etc. Daten ist auch m”glich. z.B. #EUnidirektional #C $1B 'U !1 "Hallo" Folgen auf eine Namensdefinition (#E) mehrere #C-Zeilen so werden sie wie eine einzelne behandelt. z.B. #EUnidirektional #C $1B 'U !1 #C $0D PopUpMens ---------- Es kann auch eine Auswahl an Parametern angegeben werden, die ber PopUpMens im CPX Modul ausgew„hlt werden. Syntax: #C ? [Code] @* [Bezeichnung] | [Code] @ [Bezeichnung] ... ? Die Formatierung der Strings wird v”llig dem CPX Modul berlassen und sollte mit zus„tzlichen Leerzeichen aufgebessert werden. [Code] besteht aus allen in der #C Zeile erlaubten Eintr„gen mit Ausnahme von '?' [Bezeichnung] darf alle ASCII Zeichen ohne '?' und '|' enthalten. Folgt direkt auf das '@' Zeichen ein '*', so wird vor dem Eintrag ein H„kchen gesetzt (=Default) Das '*' Zeichen wird nicht in den PopUp Text bernommen. Bitte beachten, das die PopUp Texte grunds„tzlich mit 2 Blanks beginnen sollten. Beispiel 1: #Edoppelte H”he.. #C $1c 'V ?$1@ EIN |$0@* AUS ? Beispiel 2: #ESub/Superscript.. #C $1B ? $53 $0 @ Superscript |\ $53 $1 @ Subscript |\ $'T @* Aus ? ? = Begin/Ende-Marker fr PopUp-Mens @ = Trenner Code - Bezeichnung @*= Default-Einstellung-Marker | = Trenner PopUp-Eintr„ge (Code+Bezeichnung) \ = Aufteilen des PopUp's ber mehrer Zeilen Zur Aufteilung eines Popups in mehrere Zeilen wurde das Kommando '\' eingefhrt. Es darf berall stehen, wo z.B. eine Hex Zahl stehen drfte. Alle auf einen '\' folgenden Zeichen werden bis einschlielich des folgenden Zeilenendes ignoriert Sliderboxen / Wertebereiche --------------------------- Syntax: #C [text| von bis def] [ = Beginn des Systaxbereiches ] = Ende " " text = Bezeichnung der Eingabe (max. 28 Zeichen) z.B. 1/360 Zoll von = Mindestwert (z.B. !0 ) bis = Maximalwert (z.B. !100) def = Defaultwert (z.B. !50 ) Beispiel: #E $1B 'A [Anzahl der Kopien|!1 !100 !5] Wichtig: Es drfen nur Byte Werte angegeben werden! keine Strings etc. Grunds„tzlich muss gelten: von < bis Ausnahme bilden hier negative Wertebereiche, hier wird der Wert in ein Byte gewandelt -1=255. Beispiel 1: #C [ Zeilen | !-6 !6 !0] Beispiel 2: #C [ Zeilen | !-1 !-50 !-20] [' = Folgt auf die '[' ein ''' so erfolgt die Ausgabe nicht als Byte sondern als Dezimal String (Laserdrucker !) z.B. #C [' Zeilen | !6 !-6 !1] [+ = Folgt auf die '[' ein '+' so erfolgt die Ausgabe nicht als Byte sondern als Dezimal String z.B. #C [+ Zeilen | !6 !-6 !1] Bei positiven Werten und 0 wird hier explizit ein '+' bei der Ausgabe vorangestellt. (Laserdrucker !) [+2= Folgt auf [' oder [+ eine Ziffer 1, 2, 3 oder 4 so werden die ['2 letzten 1, 2, 3 oder 4 Stellen als Nachkommastellen gewertet z.B. #C [+2 Zoll | !-1200 !1200 !0] ergibt -12.00 bis +12.00 (Laserdrucker !) Beachte, das der gesamt Wertebereich nicht gr”žer als insgesamt 16384 wird (siehe unten BEKANNTE BESCHRŽNKUNGEN/BUGs) Variablen-/Text-/Bin„r- 1:1 Sendung ----------------------------------- bei gr”žeren COD Dateien a) Disk schicken oder b) Upload in den PP von Andreas Mandel in der Maus OG (0781/38807 1200-16800) In der Maus OG wird dann im ™ffentlichen Programmteil eine Datei mit dem Namen CODECOD.ZIP mit den gesammten aktuellen COD-Dateien liegen. Vielen Dank !!! UPDATEs / NEUE VERSIONEN ---------------------------------------------------------------------------- 23.01.93 V1.00 erste offizielle Version von CODE.CPX 11.02.93 V1.01 kleiner Bug, der dafr sorgte, daž der Doppelklick nicht immer funktionierte ist raus. Jetzt geht er immer (”fter?). Dank an Karsten Iwen. 07.03.93 V1.03 Numerische Eingabe bei Slidern durch einfaches Klicken auf den Slider m”glich (bisher nur bei positivem Zahlen- bereich ohne Nachkommastellen!). Das Blinkverhalten nach dem der Code gesendet wurde ist etwas regelm„žiger. 24.09.93 V1.05 DTR stetzen/l”schen implementiert grožen Dank an Wolfgang Wander. Kleine Unsch”nheiten beim Redraw unter Farbe beseitigt. Trotz Anratens von vielen Seiten immer noch keine eingeschr„nkte Version, bin halt doch (etwas) Naiv. (sorry Wolfgang)